package com.func.domain.strategy.service;

import com.func.domain.strategy.model.entity.RaffleAwardEntity;
import com.func.domain.strategy.model.entity.RaffleFactorEntity;

/**
 * @ClassName IRaffleStrategy
 * @Description 抽奖策略接口
 * @Author: func
 * @Date 2025/2/26 9:02
 * @Version 1.0
 */

public interface IRaffleStrategy {
    /**
     * 执行一次抽奖
     * @param raffleFactorEntity 抽奖因子, 内部有执行一次抽奖需要知道的最小信息
     * @return 抽到的奖品的信息
     */
    RaffleAwardEntity performRaffle(RaffleFactorEntity raffleFactorEntity);
}
